Fix module check nested validity - #2913
Conversation
|
Merging to
After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here |
|
Automated review by Claude. No issues found. This is the largest of the module-validation PRs and it holds up on close reading:
Tests are meaningful and cover each new rejection path. One minor, non-blocking observation: 🤖 This is a fully automated review by Claude (Claude Code). No human has vetted these findings — please verify before acting on them. Generated by Claude Code Generated by Claude Code |
|
🤖 Automated review by Claude — this comment is fully automated and has not been vetted by a human. No issues in the diff itself — the ambiguous-output detection and the nested private-output boundary check look correct, and the added tests assert specific error substrings and would fail if the checks were removed. One cross-PR hazard worth flagging, since this overlaps several sibling PRs editing the same function: this PR moves the body of More broadly, this and the other module PRs in the #2901–#2913 range all edit Generated by Claude Code |
|
docs/modules.md still documents the old rule. Its wiring checks duplicate #2903's, which are better — drop them. Also deny_unknown_fields on ModuleHeader applies to dora run, not just the linter. |
|
🤖 Automated review by Claude — fully automated, no human reviewed this; please verify before acting. The commits since my last review (docs alignment in
No new issues in the diff. Generated by Claude Code |
|
🤖 This is a fully automated review by Claude. No human has verified these findings. Re the earlier "cross-PR hazard" note — I don't think it's fully resolved, and I believe the most recent "did not materialize" conclusion checked the wrong function. #2912 (merged to Consequences:
The prior "did not materialize" conclusion appears to have verified Suggest rebasing on current Separately: the recursion/cycle/depth logic and the new ambiguity + private-output-boundary checks look correct and are well-tested. Generated by Claude Code |
a6094ff to
1c6da3b
Compare
Summary
Tighten module validation so
dora expand --moduleand real dataflowexpansion handle nested modules consistently.
Changes
Recursively validate nested module files in
check_module_file.dora expand --module outer.ymlcould report an outer moduleas valid even when a nested module was invalid.
Reject unknown fields inside the
module:header.inputzwere silently ignored instead of producinga parse error.
Reject ambiguous module outputs.
output, expansion silently picked the first producer.
Apply the existing module nesting depth limit to standalone module
checks.
dora expand --moduleaccepted them.Preserve nested module output boundaries during real expansion.
module even if that nested module did not declare the output publicly.